<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    <title>基本列表</title>
</head>
<body>
    <h2>人员列表</h2>
    <div id="root">
        <input type="text" placeholder="请输入名字" v-model="keyword">
        <ul>
            <li v-for="(item,index) of filPersons" :key="item.index">
                {{item.name}}-{{item.age}}-{{item.sex}}
            </li>
        </ul>
    </div>
    <script>
        /* watch监视 */
    //#region
    /* new Vue({
        el:"#root",
        data:{
            keyword:"",
            persons:[
                {id:001,name:"马冬梅",age:18,sex:"女"},
                {id:002,name:"周冬雨",age:19,sex:"女"},
                {id:003,name:"周杰伦",age:20,sex:"男"},
                {id:0034,name:"温兆伦",age:20,sex:"男"}
            ],
            filPersons:[]
        },
        watch:{
            keyword:{
                immediate:true,
                handler(val){
                    this.filPersons=this.persons.filter((item)=>{
                    return item.name.indexOf(val)!==-1
                })
                }
            }
        }
    }) */
    //#endregion
    /* 计算属性 */
    new Vue({
        el:"#root",
        data:{
            keyword:"",
            persons:[
                {id:001,name:"马冬梅",age:18,sex:"女"},
                {id:002,name:"周冬雨",age:19,sex:"女"},
                {id:003,name:"周杰伦",age:20,sex:"男"},
                {id:0034,name:"温兆伦",age:20,sex:"男"}
            ]
        },
        computed:{
            filPersons(){
                return this.persons.filter((item)=>{
                    return item.name.indexOf(this.keyword)!==-1
                })
            }
        }
    })
    </script>
</body>
</html>